package ve.usb.coord.colision.hibernate;

import java.util.HashSet;
import java.util.Set;



public class Modalidad implements java.io.Serializable {

    /** Creates a new instance of Modalidad */
    public Modalidad() {}

    /**
     * Holds value of property idModalidad.
     */
    private long idModalidad;

    /**
     * Getter for property idModalidad.
     * @return Value of property idModalidad.
     */
    public long getIdModalidad() {
        return this.idModalidad;
    }

    /**
     * Setter for property idModalidad.
     * @param idModalidad New value of property idModalidad.
     */
    public void setIdModalidad(long idModalidad) {
        this.idModalidad = idModalidad;
    }
    /**
     * Holds value of property nombre.
     */
    private String nombre = "";

    /**
     * Getter for property nombre.
     * @return Value of property nombre.
     */
    public String getNombre() {
        return this.nombre;
    }

    /**
     * Setter for property nombre.
     * @param nombre New value of property nombre.
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    /**
     * Holds value of property planDeEstudios.
     */
    private PlanDeEstudios planDeEstudios;

    /**
     * Getter for property planDeEstudios.
     * @return Value of property planDeEstudios.
     */
    public PlanDeEstudios getPlanDeEstudios() {
        return this.planDeEstudios;
    }

    /**
     * Setter for property planDeEstudios.
     * @param planDeEstudios New value of property planDeEstudios.
     */
    public void setPlanDeEstudios(PlanDeEstudios planDeEstudios) {
        this.planDeEstudios = planDeEstudios;
    }
    /**
     * Holds value of property asociaciones.
     */
    private Set<Asociacion> asociaciones = new HashSet<Asociacion>();

    /**
     * Getter for property asociaciones.
     * @return Value of property asociaciones.
     */
    public Set<Asociacion> getAsociaciones() {
        return this.asociaciones;
    }

    /**
     * Setter for property asociaciones.
     * @param asociaciones New value of property asociaciones.
     */
    public void setAsociaciones(Set<Asociacion> asociaciones) {
        this.asociaciones = asociaciones;
    }

    /**
     * Add an element to set property asociaciones
     * and sets elements's property modalidad.
     * @param element New element to be added to asociaciones.
     */
    public void addToAsociaciones(Asociacion element) {
        element.setModalidad(this);
        asociaciones.add(element);
    }

    /**
     * Removes and old element from set asociaciones 
     * and sets element's property modalidad to null.
     * @param old The element to be removed from asociaciones
     */
    public void removeFromAsociaciones(Asociacion old) {
        asociaciones.remove(old);
        old.setModalidad(null);
    }

}